package com.superm.service;

import com.superm.entity.Stock;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 库存的业务逻辑层
 */
public interface StockService {
    /**
     *
     * @param inv 根据指定条件查询
     * @param pageNo 分页
     * @param pageSize 分页
     * @return
     */
    List<Stock> allstock(Stock inv , Integer pageNo, Integer pageSize);


    /**
     * 根据指定仓库编号查询底下所有库存信息(未上架)
     * @param rId
     * @return
     */
    Map<String,Object> ajaxStockRepostory(Integer rId);

    /**
     * 根据指定仓库编号查询底下所有库存信息(已上架)
     * @param rId
     * @return
     */
    Map<String,Object> ajaxStockRepostoryTwo(Integer rId);



    /**
     * 查询总条数
     * @param inv
     * @return
     */
    Integer selectCount(Stock inv);

    /**
     * 修改库存信息
     * @param stock
     * @param capacity
     * @return
     */
    Map<String,Object> upInventory(Stock stock,Integer capacity);

    /**
     * 批量删除库存信息
     * @param invs
     * @return
     */
    Integer delInventorys(List<String> invs);

    /**
     * 添加一条库存信息
     * @return
     */
    Map<String,Object> addInventory(Stock stock);
    /**
     * 根据库存id 查询一条库存信息
     * @param stockId
     * @return
     */
    Stock  queryId(Integer stockId);


    /**
     * 异步方式根据id
     * @param stockId
     * @return
     */
    Map<String,Object> ajaxQueryId(Integer stockId);


    /**
     * 异步方式根据id
     * @param stockId
     * @return
     */
    Map<String,Object> ajaxQueryTwo(Integer stockId);
    /**
     * 根据商品编号查询指定库存信息
     * @param stockId
     * @return
     */
    Stock selectGoodsId(Integer stockId);
    /**
     * 修改库存数量进行校验
     * @param stock
     * @return
     */
    public Map<String,Object> upJaoyan(Stock stock,Integer capacity);

    /**
     * 添加库存数量进行校验
     * @param stock
     * @return
     */
    public Map<String,Object> addJiaoyan(Stock stock);


}
